3D মডেল এক্সপোর্ট করা

3D Model Import এবং Export - ব্যাবিলনজেএস (BabylonJS) - Web Development

255

BabylonJS আপনাকে বিভিন্ন ফরম্যাটে 3D মডেল এক্সপোর্ট করার সুবিধা প্রদান করে, যা পরে অন্য কোনো প্রজেক্টে ব্যবহার করা যেতে পারে। সাধারণত, GLTF (GL Transmission Format) এবং OBJ ফরম্যাটে এক্সপোর্ট করা হয়। এই ফরম্যাটগুলো সহজে বিভিন্ন 3D ইঞ্জিন ও সফটওয়্যার দ্বারা সাপোর্ট করা হয়, যেমন Blender, Unity, Unreal Engine, ইত্যাদি।

এখানে আমরা GLTF ফরম্যাটে 3D মডেল এক্সপোর্ট করার পদ্ধতি আলোচনা করব, কারণ এটি আধুনিক ওয়েব প্রযুক্তির সাথে ভালোভাবে কাজ করে এবং কম্প্যাক্ট, ফাস্ট এবং ওয়েব-ফ্রেন্ডলি।


GLTF ফরম্যাটে এক্সপোর্ট করা

BabylonJS এ GLTF ফরম্যাটে মডেল এক্সপোর্ট করার জন্য BABYLON.GLTF2Export ইউটিলিটি ব্যবহার করা হয়। এটি আপনাকে কোনো 3D মডেল (যেমন, বক্স, sphere বা আরও কাস্টম মডেল) GLTF ফরম্যাটে এক্সপোর্ট করতে সাহায্য করবে।

১. GLTF এক্সপোর্টার স্ক্রিপ্ট যুক্ত করা

প্রথমেই, আপনাকে GLTF এক্সপোর্টার স্ক্রিপ্টটি আপনার HTML ফাইলে যুক্ত করতে হবে। এটি BabylonJS এর আলাদা একটি লাইব্রেরি, যা আপনাকে GLTF ফাইল এক্সপোর্ট করতে সাহায্য করে।

<script src="https://cdn.babylonjs.com/babylon.js"></script>
<script src="https://cdn.babylonjs.com/loaders/babylonjs.loaders.min.js"></script>

babylonjs.loaders.min.js স্ক্রিপ্টটি GLTF ফরম্যাট এক্সপোর্ট করার জন্য প্রয়োজন।


২. 3D মডেল তৈরি করা এবং এক্সপোর্ট করা

এখন একটি সিম্পল 3D মডেল (যেমন একটি বক্স) তৈরি করে GLTF ফরম্যাটে এক্সপোর্ট করতে হবে।

উদাহরণ:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>BabylonJS 3D Model Export</title>
    <script src="https://cdn.babylonjs.com/babylon.js"></script>
    <script src="https://cdn.babylonjs.com/loaders/babylonjs.loaders.min.js"></script>
</head>
<body>
    <canvas id="renderCanvas" style="width: 100%; height: 100%"></canvas>
    <script>
        var canvas = document.getElementById("renderCanvas");
        var engine = new BABYLON.Engine(canvas, true);
        var scene = new BABYLON.Scene(engine);

        // ক্যামেরা তৈরি
        var camera = new BABYLON.ArcRotateCamera("camera1", Math.PI / 2, Math.PI / 2, 10, BABYLON.Vector3.Zero(), scene);
        camera.attachControl(canvas, true);

        // আলোর উৎস তৈরি
        var light = new BABYLON.HemisphericLight("light1", BABYLON.Vector3.Up(), scene);
        light.intensity = 0.7;

        // একটি বক্স তৈরি করা
        var box = BABYLON.MeshBuilder.CreateBox("box", {size: 2}, scene);

        // GLTF এক্সপোর্ট ফাংশন
        function exportGLTF() {
            BABYLON.GLTF2Export.GLBAsync(scene, "model.glb").then(function (glb) {
                glb.downloadFiles(); // GLB ফাইলটি ডাউনলোড করবে
            });
        }

        // এক্সপোর্ট বাটন যুক্ত করা
        var button = document.createElement("button");
        button.innerHTML = "Export GLTF Model";
        button.onclick = exportGLTF;
        document.body.appendChild(button);

        // দৃশ্য রেন্ডার করা
        engine.runRenderLoop(function () {
            scene.render();
        });

        window.addEventListener("resize", function () {
            engine.resize();
        });
    </script>
</body>
</html>

কোড ব্যাখ্যা:

  1. GLTF এক্সপোর্ট ফাংশন: BABYLON.GLTF2Export.GLBAsync(scene, "model.glb") ফাংশনটি পুরো দৃশ্যটিকে GLTF (বা GLB) ফরম্যাটে এক্সপোর্ট করে। এখানে "model.glb" ফাইলের নাম।
  2. ডাউনলোড ফাংশন: glb.downloadFiles() ব্যবহার করা হয়েছে যাতে এক্সপোর্ট করা GLB ফাইলটি স্বয়ংক্রিয়ভাবে ডাউনলোড হতে পারে।
  3. এক্সপোর্ট বাটন: HTML এ একটি বাটন তৈরি করা হয়েছে, যাতে ব্যবহারকারী ক্লিক করলে মডেলটি এক্সপোর্ট করা হবে।
  4. ডাউনলোড: এক্সপোর্ট সম্পন্ন হওয়ার পর, ব্যবহারকারী স্বয়ংক্রিয়ভাবে মডেলটি ডাউনলোড করতে পারবেন।

৩. GLTF ফরম্যাট এবং GLB ফরম্যাট

GLTF:

  • GLTF (GL Transmission Format) একটি JSON ভিত্তিক ফরম্যাট যা 3D মডেল এবং অ্যাসেটগুলো সংরক্ষণ করতে ব্যবহৃত হয়।
  • এটি একটি ওপেন স্ট্যান্ডার্ড এবং দ্রুত ওয়েব লোডিংয়ের জন্য ডিজাইন করা হয়েছে।
  • GLTF ফাইলগুলো বেশিরভাগ সময় আলাদা আলাদা টেক্সচার, শেডার, এবং জিওমেট্রি ফাইল হিসেবে থাকে।

GLB:

  • GLB হল GLTF ফরম্যাটের বাইনারি সংস্করণ।
  • এটি সব কিছু এক ফাইলে সংরক্ষণ করে, যেমন টেক্সচার, মেটাডেটা, 3D মডেল ইত্যাদি, যা কমপ্যাক্ট এবং দ্রুত লোড হয়।

৪. GLTF ফাইলের বিশেষত্ব

GLTF ফরম্যাটে 3D মডেল এক্সপোর্ট করার কিছু গুরুত্বপূর্ণ সুবিধা:

  • ফাস্ট লোডিং: GLTF ফাইলগুলি ওয়েবের জন্য অপ্টিমাইজড এবং দ্রুত লোড হয়।
  • ক্রস-প্ল্যাটফর্ম: GLTF ফাইলটি বিভিন্ন 3D ইঞ্জিন (যেমন, BabylonJS, Three.js, Unity, Unreal) এবং সফটওয়্যারে সমর্থিত।
  • টেক্সচার এবং শেডার সমর্থন: এটি টেক্সচার, শেডার, এবং অ্যানিমেশন সমর্থন করে।
  • ইন্টারঅ্যাকটিভ: GLTF মডেলগুলো ইন্টারঅ্যাকটিভ ওয়েব অ্যাপ্লিকেশনে সহজেই ব্যবহৃত হতে পারে।

৫. Blender থেকে GLTF এক্সপোর্ট

আপনি যদি Blender থেকে মডেল তৈরি করে BabylonJS-এ ব্যবহার করতে চান, তবে GLTF ফরম্যাটে এক্সপোর্ট করা সবচেয়ে সহজ পদ্ধতি।

Blender থেকে GLTF এক্সপোর্ট করতে:

  1. Blender এর Export মেনু থেকে GLTF 2.0 নির্বাচন করুন।
  2. এক্সপোর্টের সময় Animation, Textures, এবং Materials চেক করে নিন, যাতে আপনার মডেল ঠিকভাবে এক্সপোর্ট হয়।
  3. এক্সপোর্ট করা ফাইলটি BabylonJS এ ইম্পোর্ট করতে পারেন।

সারাংশ

BabylonJS আপনাকে সহজেই 3D মডেল GLTF বা GLB ফরম্যাটে এক্সপোর্ট করার সুযোগ দেয়, যা ওয়েব ভিত্তিক অ্যাপ্লিকেশন এবং অন্যান্য 3D সফটওয়্যারগুলির সাথে সামঞ্জস্যপূর্ণ। আপনি BABYLON.GLTF2Export.GLBAsync ফাংশনের মাধ্যমে আপনার 3D দৃশ্য GLTF/GLB ফরম্যাটে এক্সপোর্ট করতে পারেন এবং স্বয়ংক্রিয়ভাবে ডাউনলোড করতে পারেন। এই প্রক্রিয়া অনেক সুবিধা প্রদান করে, যেমন দ্রুত ওয়েব লোডিং, টেক্সচার এবং শেডার সমর্থন, এবং ক্রস-প্ল্যাটফর্ম ক্ষমতা।

Content added By
Promotion

Are you sure to start over?

Loading...